package com.example.demo4.support;


import com.example.demo4.BeanDefinition;

/**
 * bean注册表相关类
 */
public interface BeanDefinitionRegistry {

    /**
     * 注册bean信息
     */
    void registerBeanDefinition(String beanName, BeanDefinition beanDefinition);

    /**
     * 根据bean名称来进行删除
     */
    void removeBeanDefinition(String beanName);

    /**
     * 根据bean名称来获取bean
     */
    BeanDefinition getBeanDefinition(String beanName);

    /**
     * 是否包含当前beanName
     */
    boolean containsBeanDefinition(String beanName);

    /**
     * 获取集合中所有的beanName
     */
    String[] getBeanDefinitionNames();

    /**
     * 获取beanName的数量
     */
    int getBeanDefinitionCount();


}
